package models

// IssuingHistoryQueryParams 卡历史明细查询参数
//
type IssuingHistoryQueryParams struct {
	PageIndex      int64  `json:"pageIndex,omitempty"`
	PageSize       int64  `json:"pageSize,omitempty"`
	MemberID       string `json:"memberId,omitempty"`
	MatrixAccount  string `json:"matrixAccount,omitempty"`
	CreatedAtStart string `json:"createdAtStart,omitempty"`
	CreatedAtEnd   string `json:"createdAtEnd,omitempty"`
	CardID         string `json:"cardId,omitempty"`
	CardFormFactor string `json:"cardFormFactor,omitempty"`
	Status         string `json:"status,omitempty"`
	FeeType        string `json:"feeType,omitempty"`
}

// IssuingHistoryInfo 卡历史明细信息
//
type IssuingHistoryInfo struct {
	ActualFeeAmount   string `json:"actualFeeAmount"`
	ActualFeeCurrency string `json:"actualFeeCurrency"`
	CardID            string `json:"cardId"`
	CardScheme        string `json:"cardScheme"`
	CardType          string `json:"cardType"`
	CreatedAt         string `json:"createdAt"`
	FeeType           string `json:"feeType"`
	MaskCardNo        string `json:"maskCardNo"`
	MemberID          string `json:"memberId"`
	MatrixAccount     string `json:"matrixAccount"`
	Nickname          string `json:"nickname"`
	ReferenceNo       string `json:"referenceNo"`
	Status            string `json:"status"`
	CardFormFactor    string `json:"cardFormFactor"`
	CardNickname      string `json:"cardNickname"`
}

// IssuingHistoryListResponse 卡历史明细查询响应
//
type IssuingHistoryListResponse struct {
	Code      string               `json:"code"`
	Msg       string               `json:"msg"`
	Data      []IssuingHistoryInfo `json:"data"`
	PageIndex int64                `json:"pageIndex"`
	PageSize  int64                `json:"pageSize"`
	Total     int64                `json:"total"`
}

// RechargeCardFundsDetailQueryParams 常规卡资金明细查询参数
//
type RechargeCardFundsDetailQueryParams struct {
	PageIndex       int64  `json:"pageIndex,omitempty"`
	PageSize        int64  `json:"pageSize,omitempty"`
	MemberID        string `json:"memberId,omitempty"`
	MatrixAccount   string `json:"matrixAccount,omitempty"`
	CreatedAtStart  string `json:"createdAtStart,omitempty"`
	CreatedAtEnd    string `json:"createdAtEnd,omitempty"`
	TransactionID   string `json:"transactionId,omitempty"`
	CardID          string `json:"cardId,omitempty"`
	CardType        string `json:"cardType,omitempty"`
	CardFormFactor  string `json:"cardFormFactor,omitempty"`
	RequestID       string `json:"requestId,omitempty"`
	TransactionType string `json:"transactionType,omitempty"`
	Status          string `json:"status,omitempty"`
}

// RechargeCardFundsDetailInfo 常规卡资金明细信息
//
type RechargeCardFundsDetailInfo struct {
	Amount             float64 `json:"amount"`
	CapitalFlows       string  `json:"capitalFlows"`
	CardBalance        float64 `json:"cardBalance"`
	CardChangeAmount   float64 `json:"cardChangeAmount"`
	CardCurrency       string  `json:"cardCurrency"`
	CardID             string  `json:"cardId"`
	CreatedAt          string  `json:"createdAt"`
	FeeAmount          float64 `json:"feeAmount"`
	FeeDeductionMethod string  `json:"feeDeductionMethod"`
	MaskCardNo         string  `json:"maskCardNo"`
	TransactionID      string  `json:"transactionId"`
	TransactionType    string  `json:"transactionType"`
	MemberID           string  `json:"memberId"`
	MatrixAccount      string  `json:"matrixAccount"`
	CardFormFactor     string  `json:"cardFormFactor"`
}

// RechargeCardFundsDetailListResponse 常规卡资金明细查询响应
//
type RechargeCardFundsDetailListResponse struct {
	Code      string                        `json:"code"`
	Msg       string                        `json:"msg"`
	Data      []RechargeCardFundsDetailInfo `json:"data"`
	PageIndex int64                         `json:"pageIndex"`
	PageSize  int64                         `json:"pageSize"`
	Total     int64                         `json:"total"`
}

// VccTradeOrderQueryParams 卡片交易明细查询参数
//
type VccTradeOrderQueryParams struct {
	PageIndex       int64  `json:"pageIndex,omitempty"`
	PageSize        int64  `json:"pageSize,omitempty"`
	MemberID        string `json:"memberId,omitempty"`
	MatrixAccount   string `json:"matrixAccount,omitempty"`
	CreatedAtStart  string `json:"createdAtStart,omitempty"`
	CreatedAtEnd    string `json:"createdAtEnd,omitempty"`
	CardID          string `json:"cardId,omitempty"`
	CardType        string `json:"cardType,omitempty"`
	CardFormFactor  string `json:"cardFormFactor,omitempty"`
	RequestID       string `json:"requestId,omitempty"`
	TransactionID   string `json:"transactionId,omitempty"`
	TransactionType string `json:"transactionType,omitempty"`
	Status          string `json:"status,omitempty"`
	CardNickname    string `json:"cardNickname,omitempty"`
}

// VccTradeOrderInfo 卡片交易明细信息
//
type VccTradeOrderInfo struct {
	ArrivalAccount             string                 `json:"arrivalAccount"`
	ArrivalAmount              float64                `json:"arrivalAmount"`
	CardCurrency               string                 `json:"cardCurrency"`
	CardID                     string                 `json:"cardId"`
	CardType                   string                 `json:"cardType"`
	Code                       string                 `json:"code"`
	CreatedAt                  string                 `json:"createdAt"`
	FeeDeductionAccount        string                 `json:"feeDeductionAccount"`
	FeeDeductionAmount         float64                `json:"feeDeductionAmount"`
	FeeDeductionCurrency       string                 `json:"feeDeductionCurrency"`
	FeeDetailJson              map[string]interface{} `json:"feeDetailJson"`
	FeeReturnDetailJson        map[string]interface{} `json:"feeReturnDetailJson"`
	MatrixAccount              string                 `json:"matrixAccount"`
	MemberID                   string                 `json:"memberId"`
	MaskCardNo                 string                 `json:"maskCardNo"`
	MerchantNameLocation       string                 `json:"merchantNameLocation"`
	MerchantLocation           string                 `json:"merchantLocation"`
	Msg                        string                 `json:"msg"`
	OriginTransactionID        string                 `json:"originTransactionId"`
	RequestID                  string                 `json:"requestId"`
	Status                     string                 `json:"status"`
	Mcc                        string                 `json:"mcc"`
	AuthCode                   string                 `json:"authCode"`
	TransactionAmount          float64                `json:"transactionAmount"`
	TransactionCurrency        string                 `json:"transactionCurrency"`
	TransactionID              string                 `json:"transactionId"`
	TransactionType            string                 `json:"transactionType"`
	TxnPrincipalChangeAccount  string                 `json:"txnPrincipalChangeAccount"`
	TxnPrincipalChangeAmount   float64                `json:"txnPrincipalChangeAmount"`
	TxnPrincipalChangeCurrency string                 `json:"txnPrincipalChangeCurrency"`
	CardFormFactor             string                 `json:"cardFormFactor"`
	CardNickname               string                 `json:"cardNickname"`
}

// VccTradeOrderListResponse 卡片交易明细查询响应
//
type VccTradeOrderListResponse struct {
	Code      string              `json:"code"`
	Msg       string              `json:"msg"`
	Data      []VccTradeOrderInfo `json:"data"`
	PageIndex int64               `json:"pageIndex"`
	PageSize  int64               `json:"pageSize"`
	Total     int64               `json:"total"`
}
